package cn.iocoder.yudao.module.written.exam.controller.admin.userwrittenexamrecordsdetail.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Schema(description = "管理后台 - 笔试记录详情 Response VO")
@Data
@ExcelIgnoreUnannotated
public class UserWrittenExamRecordsDetailRespVO {

    @Schema(description = "自增id", requiredMode = Schema.RequiredMode.REQUIRED, example = "25831")
    @ExcelProperty("自增id")
    private Long id;

    @Schema(description = "开始时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("开始时间")
    private LocalDateTime startTime;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "会话id", example = "b861ad6a-b7c7-4cd2-8a91-3a32e7c6cd50")
    @ExcelProperty("会话id")
    private String conversationId;

    @Schema(description = "用户id", example = "17569")
    @ExcelProperty("用户id")
    private Long userId;

    @Schema(description = "笔试记录id", example = "25706")
    @ExcelProperty("笔试记录id")
    private Long recordsId;

    @Schema(description = "消息id", example = "19213")
    @ExcelProperty("消息id")
    private String messageId;

    @Schema(description = "文件id，多个文件id用英文逗号隔开")
    @ExcelProperty("文件id，多个文件id用英文逗号隔开")
    private List<String> fileIds;

    @Schema(description = "笔试类型", example = "1")
    @ExcelProperty("笔试类型")
    private Integer examType;

    @Schema(description = "职位分类id", example = "16627")
    @ExcelProperty("职位分类id")
    private Long jobCategoriesId;

    @Schema(description = "职位分类名称", example = "王五")
    @ExcelProperty("职位分类名称")
    private String jobCategoriesName;

    @Schema(description = "专家id", example = "16492")
    @ExcelProperty("专家id")
    private Long expertId;

    @Schema(description = "专家称号", example = "张三")
    @ExcelProperty("专家称号")
    private String expertName;

    @Schema(description = "消耗积分", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("消耗积分")
    private Integer consumedPoints;

    @Schema(description = "试题类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("试题类型")
    private Integer questionType;

    @Schema(description = "文件URL，多个文件URL用英文逗号隔开")
    @ExcelProperty("文件URL，多个文件URL用英文逗号隔开")
    private List<String> fileUrls;

    @Schema(description = "文本题目")
    @ExcelProperty("文本题目")
    private String questionText;

    @Schema(description = "试题答案")
    @ExcelProperty("试题答案")
    private String questionAnswer;

}